/*******************************************************************************
*
* (c) Copyright 2014 Freescale Semiconductor
*
****************************************************************************//*!
*
* @file     typedef.h
*
* @author   Salvador Zendejas
*
* @version  0.0.1
*
* @date      Aug 22, 2014
*
* @brief    generic typedefs.
*
*******************************************************************************/

#ifndef TYPEDEF_H_
#define TYPEDEF_H_

/*******************************************************************************
* Includes
*******************************************************************************/
#include "derivative.h" /* Include peripheral declarations */
#include "SysCfg.h" /* Include peripheral declarations */


/*******************************************************************************
* Constants and macros
*******************************************************************************/

#define SET								1u
#define TRUE							1u
#define CLEAR							0u

#define YES								1u
#define NO								0u
#define NOT_USED						0u
#define TO_USE							1u
#define NOPE							asm("NOP")
/*******************************************************************************
* Types Definitions
*******************************************************************************/
typedef void (*tPointerFcn)(void);  /* pointer to a function */

typedef enum{
	_OK,
	_Error
}eStatusFn;

typedef enum{	//Selects the functionality of each Pin
	e_Alt0,		//
	e_GPIO,			//General Purpose Input Output
	e_Alt2,
	e_Alt3,
	e_Alt4,
	e_Alt5,	
	e_Alt6,	
	e_Alt7	
}PinMuxCtrl_t;	//The Port Control Module is responsible for selecting which ALT functionality is available on each pin

#endif /* TYPEDEF_H_ */
